#include "Shm.hpp"
#include "namedPipe.hpp"
#include <unistd.h>


int main()
{
    // 共享内存不提供任何对共享内存的保护机制，会造成数据不一致问题
    // 我们可以通过使用管道来对共享内存进行保护

    // 1. 创建共享内存
    Shm shm(pathname,gproj_id,gCreater);
    char *shmaddr = (char*)shm.Addr();

    // 2. 创建管道
    NamePipe pipe(comm_path,Creater);
    pipe.OpenForRead();

    // read
    while(true)
    {
        std::string temp;
        pipe.ReadPipe(&temp);

        std::cout<<"shm memory consten :"<<shmaddr<<std::endl;
        sleep(1);
    }

    sleep(5);

    return 0;
}